<Schema name="FDTProfibusDPV0CommunicationSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:fdt="x-schema:FDTDataTypesSchema.xml">
	<!--Definition of Attributes-->
	<AttributeType name="schemaVersion" dt:type="number" default="1.21"/>       
	<AttributeType name="busAddress" dt:type="ui1"/>
	<AttributeType name="errorCode" dt:type="bin.hex"/>
	<AttributeType name="communicationReference" dt:type="uuid"/>
	<AttributeType name="connectStatus" dt:type="enumeration" dt:values="masterConnectedOnly deviceAtLifeList deviceInDataExchange "/>
	<AttributeType name="sequenceTime" dt:type="ui4"/>
	<AttributeType name="delayTime" dt:type="ui4"/>
	<!--Definition of Elements-->
	<ElementType name="ConnectRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="busAddress" required="yes"/>
		<attribute type="fdt:systemTag" required="no"/>     
	</ElementType>
	<ElementType name="ConnectResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="busAddress" required="yes"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="connectStatus" required="yes"/>
	</ElementType>
	<ElementType name="DisconnectRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="busAddress" required="yes"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="DisconnectResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="busAddress" required="yes"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="ReadUserParameterRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="ReadUserParameterResponse" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="errorCode" required="yes"/>
		<element type="fdt:CommunicationData" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="WriteUserParameterRequest" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<element type="fdt:CommunicationData" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="WriteUserParameterResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="errorCode" required="yes"/>
	</ElementType>
	<ElementType name="ReadOutputDataRequest" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<element type="fdt:ChannelReference" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="ReadOutputDataResponse" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="errorCode" required="yes"/>
		<element type="fdt:CommunicationData" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="WriteOutputDataRequest" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<element type="fdt:ChannelReference" minOccurs="1" maxOccurs="1"/>
		<element type="fdt:CommunicationData" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="WriteOutputDataResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="errorCode" required="yes"/>
	</ElementType>
	<ElementType name="ReadInputDataRequest" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<element type="fdt:ChannelReference" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="ReadInputDataResponse" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="errorCode" required="yes"/>
		<element type="fdt:CommunicationData" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="ReadDiagnosisDataRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="ReadDiagnosisDataResponse" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="errorCode" required="yes"/>
		<element type="fdt:CommunicationData" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="SequenceBegin" content="empty" model="closed">
		<attribute type="sequenceTime" required="no"/>
		<attribute type="delayTime" required="no"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="SequenceEnd" content="empty" model="closed">
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="SequenceStart" content="empty" model="closed">
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="Abort" content="empty" model="closed">
<attribute type="communicationReference" required="no"/>
</ElementType>
	<ElementType name="FDT" content="eltOnly" model="closed">
		<attribute type="schemaVersion" required="no"/>                     
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one">
			<element type="ConnectRequest"/>
			<element type="ConnectResponse"/>
			<element type="DisconnectRequest"/>
			<element type="DisconnectResponse"/>
			<element type="ReadUserParameterRequest"/>
			<element type="ReadUserParameterResponse"/>
			<element type="WriteUserParameterRequest"/>
			<element type="WriteUserParameterResponse"/>
			<element type="ReadOutputDataRequest"/>
			<element type="ReadOutputDataResponse"/>
			<element type="WriteOutputDataRequest"/>
			<element type="WriteOutputDataResponse"/>
			<element type="ReadInputDataRequest"/>
			<element type="ReadInputDataResponse"/>
			<element type="ReadDiagnosisDataRequest"/>
			<element type="ReadDiagnosisDataResponse"/>
			<element type="SequenceBegin"/>
			<element type="SequenceEnd"/>
			<element type="SequenceStart"/>
			<element type="Abort"/>
			<element type="fdt:CommunicationError"/>
		</group>
	</ElementType>
</Schema>

